swipe复用导致没close问题

chengzhenyu 8 years ago
parent
commit
f6825ef539

+ 4 - 0
app/src/main/java/ai/pai/client/adapter/MessageAdapter.java

@@ -10,6 +10,7 @@ import android.widget.ImageView;
10 10
 import android.widget.TextView;
11 11
 
12 12
 import com.android.common.utils.TimeUtils;
13
+import com.android.views.swipeLayout.SwipeLayout;
13 14
 import com.nostra13.universalimageloader.core.DisplayImageOptions;
14 15
 
15 16
 import java.util.ArrayList;
@@ -54,11 +55,13 @@ public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.MessageV
54 55
         viewHolder.time = (TextView)view.findViewById(R.id.tv_message_time);
55 56
         viewHolder.delete = (TextView)view.findViewById(R.id.tv_trash);
56 57
         viewHolder.itemView = view.findViewById(R.id.layout_message_item);
58
+        viewHolder.swipeLayout = (SwipeLayout) view;
57 59
         return viewHolder;
58 60
     }
59 61
 
60 62
     @Override
61 63
     public void onBindViewHolder(final MessageViewHolder holder, final int position) {
64
+        holder.swipeLayout.close();
62 65
         final MessageBean messageBean = messageList.get(position);
63 66
         holder.content.setText(messageBean.content);
64 67
         holder.time.setText(TimeUtils.getFormattedTime(messageBean.createTime));
@@ -113,6 +116,7 @@ public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.MessageV
113 116
         private TextView content;
114 117
         private TextView delete;
115 118
         private View itemView;
119
+        private SwipeLayout swipeLayout;
116 120
 
117 121
         public MessageViewHolder(View itemView) {
118 122
             super(itemView);

+ 5 - 0
app/src/main/java/ai/pai/client/adapter/SystemMessageAdapter.java

@@ -8,6 +8,8 @@ import android.view.View;
8 8
 import android.view.ViewGroup;
9 9
 import android.widget.TextView;
10 10
 
11
+import com.android.views.swipeLayout.SwipeLayout;
12
+
11 13
 import java.util.ArrayList;
12 14
 
13 15
 import ai.pai.client.R;
@@ -41,11 +43,13 @@ public class SystemMessageAdapter extends RecyclerView.Adapter<SystemMessageAdap
41 43
         viewHolder.content = (TextView)view.findViewById(R.id.tv_message_content);
42 44
         viewHolder.delete = (TextView)view.findViewById(R.id.tv_trash);
43 45
         viewHolder.jump = view.findViewById(R.id.layout_message_jump);
46
+        viewHolder.swipeLayout = (SwipeLayout) view;
44 47
         return viewHolder;
45 48
     }
46 49
 
47 50
     @Override
48 51
     public void onBindViewHolder(final MessageViewHolder holder, final int position) {
52
+        holder.swipeLayout.close();
49 53
         final SystemMessageBean messageBean = messageList.get(position);
50 54
         holder.content.setText(messageBean.content);
51 55
         holder.title.setText(messageBean.title);
@@ -97,6 +101,7 @@ public class SystemMessageAdapter extends RecyclerView.Adapter<SystemMessageAdap
97 101
         private TextView content;
98 102
         private TextView delete;
99 103
         private View   jump;
104
+        private SwipeLayout swipeLayout;
100 105
 
101 106
         public MessageViewHolder(View itemView) {
102 107
             super(itemView);